package com.giggle.mybatis.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

import java.io.Serializable;

/**
 * @author guozichen
 * @ClassName:
 * @Description: (数据源实体)
 * @date 2020/8/31 10:14
 */
@Data
@ConfigurationProperties(prefix = "spring.datasource.mysqldatasource")
public class DataSourceProperties implements Serializable {

    protected String url;
    protected String userName;
    protected String userPassword;

    private String driverClassName;
    /**druid连接池配置*/
    /**
     * 初始化大小，最小，最大
     */
    private int initialSize;
    private int minIdle;
    private int maxActive;
    /**
     *  配置获取连接等待超时的时间
     */
    private int maxWait;
    /**
     * 配置间隔多久才进行一次检测，检测需要关闭的空闲连接，单位是毫秒
     */
    private String timeBetweenEvictionRunsMillis;
    /**
     * 配置一个连接在池中最小生存的时间，单位是毫秒
     */
    private int minEvictableIdleTimeMillis;
    private String validationQuery;
    private String testWhileIdle;
    private String testOnBorrow;
    private String testOnReturn;
    /**
     * 打开PSCache，并且指定每个连接上PSCache的大小
     */
    private String poolPreparedStatements;
    private String maxPoolPreparedStatementPerConnectionSize;
    /**
     * 配置监控统计拦截的filters，去掉后监控界面sql无法统计，'wall'用于防火墙
     */
    private String filters;
    /**
     * 通过connectProperties属性来打开mergeSql功能；慢SQL记录
     */
    private String connectionProperties;
    /**
     * 合并多个DruidDataSource的监控数据
     */
    private String useGlobalDataSourceStat;
    /**
     * mysql支持表情
     */
    private String connectionInitSqls;


}
